package day11.Stream;

/*
 * Author: JacksonCoder
 * FileName: StreamDemo
 * Version: 1.0.0
 * Date: 2025/4/20
 */

import java.util.*;
import java.util.stream.Collectors;

/**
 *  Stream 的常用操作流程
 * 三步走：
 *      创建流
 *      中间操作（filter、map、sorted...）
 *      终结操作（forEach、collect、count...）
 */

public class StreamDemo {

    public static void main(String[] args) {
        List<String> names = Arrays.asList("Tom", "Jerry","Alice","Tom","Alen");

        // 过滤 + 去重 + 转大写 + 排序 + 收集成List;
        List<String> result = names.stream()
                .filter(name -> name.length() > 3)
                .distinct()
                .map(String::toUpperCase)
                .sorted()
                .collect(Collectors.toList());
        System.out.println(result);

    }

}
